<?php

//
include_once("Conexion.php");

//Declaracion
class M_Zona {

    //Variable de la clase
    private $idZona;
    private $codigo;
    private $ancho;
    private $alto;
    private $numeroPersonas;
    private $nombre;
    private $capacidad;
    private $idsalon;
    private $usuCreac;
    private $usuModif;

     function ListarZonas_UNO() {
        //Le deciamos que la locacion es lenguaje español
        setlocale(LC_CTYPE, 'es');
        //La sentencia a ejecutar
        $sql = " SELECT z.id_zona, z.nombre as zona, z.capacidad, z.id_salon,s.nombre as salon
  FROM tbl_zona z
  JOIN tbl_salon s on z.id_salon = s.id_salon
  WHERE z.eliminado = false and z.id_zona= $this->idZona ";
        try {
            //Creamos un objeto de la clase conexion
            $miconexion = new Conexion();
            //Obtenemos la conexion
            $cn = $miconexion->conectar();
            //Ejecutamos la sentencia
            $rs = pg_query($cn, $sql);
            //Creamos un array que almacenara los datos de la sentencia
            $registros = array();
            //Recorremos el resultado de la consulta y lo almacenamos en el array
            while ($reg = pg_fetch_array($rs)) {
                array_push($registros, $reg);
            }
            //Liberamos recursos
            pg_free_result($rs);
            pg_close($cn);
        } catch (exception $e) {
            try {
                pg_free_result($rs);
            } catch (exception $e) {
                
            }
            try {
                pg_close($cn);
            } catch (exception $e) {
                
            }
        }
        return $registros;
    }
    
    
    function ListarZonas_TODOS() {
        //Le deciamos que la locacion es lenguaje español
        setlocale(LC_CTYPE, 'es');
        //La sentencia a ejecutar
        $sql = " SELECT z.id_zona, z.nombre, z.capacidad, z.id_salon,s.nombre as salon
  FROM tbl_zona z
  JOIN tbl_salon s on z.id_salon = s.id_salon
  WHERE z.eliminado = false ";
        try {
            //Creamos un objeto de la clase conexion
            $miconexion = new Conexion();
            //Obtenemos la conexion
            $cn = $miconexion->conectar();
            //Ejecutamos la sentencia
            $rs = pg_query($cn, $sql);
            //Creamos un array que almacenara los datos de la sentencia
            $registros = array();
            //Recorremos el resultado de la consulta y lo almacenamos en el array
            while ($reg = pg_fetch_array($rs)) {
                array_push($registros, $reg);
            }
            //Liberamos recursos
            pg_free_result($rs);
            pg_close($cn);
        } catch (exception $e) {
            try {
                pg_free_result($rs);
            } catch (exception $e) {
                
            }
            try {
                pg_close($cn);
            } catch (exception $e) {
                
            }
        }
        return $registros;
    }

    function insertZona() {


        //Creamos un objeto de la clase conexion
        $miconexion = new Conexion();
        //Obtenemos la conexion
        $cn = $miconexion->conectar();
        //Comenzamos la transaccion
        //  pg_query($cn,"BEGIN");
        //Elaboramos la sentencia
        $sql = "INSERT INTO tbl_zona(
            nombre, capacidad, id_salon, creacion, creadopor, eliminado)
    VALUES ('$this->nombre',$this->capacidad,$this->idsalon,now(),'$this->usuCreac',false)";

        //Ejecutamos la sentencia
        $result = pg_query($cn, $sql);
        if (!$result) {
            //Si no obtiene resultados anulamos la transaccion
            //  pg_query($cn,"ROLLBACK");
            $rpta = false;
        } else {
            //Si obtiene resultados confirmamos la transaccion
            // pg_query($cn,"COMMIT");
            $rpta = true;
        }
        //Cerramos la conexion
        pg_close($cn);

        return $rpta;
    }

    //Metodo utilizado para actualizar un ROL
    function updateZona() {

        //Creamos un objeto de la clase conexion
        $miconexion = new Conexion();
        //Obtenemos la conexion
        $cn = $miconexion->conectar();
        //Comenzamos la transaccion
        //mysql_query("BEGIN", $cn);
        //Elaboramos la sentencia
        $sql = " UPDATE tbl_zona
   SET  nombre='$this->nombre', capacidad=$this->capacidad, id_salon=$this->idsalon, 
       actualizado=now(), actualizadopor='$this->usuModif', eliminado=false
 WHERE id_zona= $this->idZona";
        //Ejecutamos la sentencia
        $result = pg_query($cn, $sql);

        if (!$result) {
            //Si no obtiene resultados anulamos la transaccion
            //    mysql_query("ROLLBACK", $cn);
            $rpta = false;
        } else {
            //Si obtiene resultados confirmamos la transaccion
            //  mysql_query("COMMIT", $cn);
            $rpta = true;
        }
        //Cerramos la conexion
        pg_close($cn);


        return $rpta;
    }

    //metodo utilizado para eliminar un rol
    function deleteZona() {

        //Creamos un objeto de la clase conexion
        $miconexion = new Conexion();
        //Obtenemos la conexion
        $cn = $miconexion->conectar();
        //Comenzamos la transaccion
        //mysql_query("BEGIN", $cn);
        //Elaboramos la sentencia
        $sql = " update tbl_zona set eliminado = true  where id_zona = $this->idZona ";

        //Ejecutamos la sentencia
        $result = pg_query($cn, $sql);

        if (!$result) {
            //Si no obtiene resultados anulamos la transaccion
            //    mysql_query("ROLLBACK", $cn);
            $rpta = false;
        } else {
            //Si obtiene resultados confirmamos la transaccion
            //  mysql_query("COMMIT", $cn);
            $rpta = true;
        }
        //Cerramos la conexion
        pg_close($cn);


        return $rpta;
    }

    //V_MesasPorZona
    function searchZonas_All() {
        //Le deciamos que la locacion es lenguaje español
        setlocale(LC_CTYPE, 'es');
        //La sentencia a ejecutar
        $sql = " SELECT * FROM tbl_zona ";
        try {
            //Creamos un objeto de la clase conexion
            $miconexion = new Conexion();
            //Obtenemos la conexion
            $cn = $miconexion->conectar();
            //Ejecutamos la sentencia
            $rs = pg_query($cn, $sql);
            //Creamos un array que almacenara los datos de la sentencia
            $registros = array();
            //Recorremos el resultado de la consulta y lo almacenamos en el array
            while ($reg = pg_fetch_array($rs)) {
                array_push($registros, $reg);
            }
            //Liberamos recursos
            pg_free_result($rs);
            pg_close($cn);
        } catch (exception $e) {
            try {
                pg_free_result($rs);
            } catch (exception $e) {
                
            }
            try {
                pg_close($cn);
            } catch (exception $e) {
                
            }
        }
        return $registros;
    }

    function setID_Zona($id_zona) {
        $this->idZona = $id_zona;
    }

    function setNombre($nombre) {
        $this->nombre = $nombre;
    }

    function setCapacidad($capacidad) {
        $this->capacidad = $capacidad;
    }

    function setId_Salon($idsalon) {
        $this->idsalon = $idsalon;
    }

    function setUsuCreac($usuario) {
        $this->usuCreac = $usuario;
    }

    function setUsuModif($usuario) {
        $this->usuModif = $usuario;
    }

}

?>